/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package negocios;

/**
 *
 * @author Ludwing
 * Clase que gestiona los datos de un cliente
 *
 */
public class Cliente {

    /**
     * Control autonumerico privado que gestiona el ID de cada cliente
     */
    private static int controlIdCliente = 0;
    /**
     * ID de cada cliente
     */
    private int idCliente;
    /**
     * Campo de nombre del cliente
     */
    private String nombre;
    /**
     * Campo de dirección del cliente
     */
    private String direccion;
    /**
     * Campo teléfono del cliente
     */
    private String telefono;
    /**
     * Campo de nit del cliente
     */
    private String NIT;

    /**
     * Constructor predeterminado: asigna un ID al nuevo objeto e incrementa el contador autonumerico
     */
    public Cliente()
    {
        this.idCliente = controlIdCliente;
        controlIdCliente++;
    }
    /**
     * Constructor sobrecargado para creación de clientes, recibe los datos de cliente y asigna un ID al nuevo objeto e incrementa el contador autonumerico
     * @param nombre String nombre del cliente
     * @param direccion String dirección del cliente
     * @param telefono String del número de teléfono del cliente
     * @param NIT String del NIT de cliente
     */
    public Cliente(String nombre, String direccion, String telefono, String NIT)
    {
        this.idCliente = controlIdCliente;
        controlIdCliente++;
        this.nombre = nombre;
        this.direccion = direccion;
        this.telefono = telefono;
        this.NIT = NIT;
    }
    /**
     * Método accesor para el Id de cliente
     * @return Entero que representa el ID del cliente
     */
    public int getIdCliente()
    {
        return this.idCliente;
    }
    /**
     * Método accesor para el nombre del cliente
     * @return String que representa el nombre del cliente
     */
    public String getNombre()
    {
        return this.nombre;
    }
    /**
     * Método accesor para la dirección del cliente
     * @return String con la dirección del cliente
     */
    public String getDireccion()
    {
        return this.direccion;
    }
    /**
     * Método accesor para el número de teléfono del cliente
     * @return String con el número de teléfono del cliente
     */
    public String getTelefono()
    {
        return this.telefono;
    }
    /**
     * Método accesor para el NIT del cliente
     * @return String con el número de NIT del cliente
     */
    public String getNIT()
    {
        return this.NIT;
    }
    /**
     * Método modificador del campo nombre
     * @param nombre String con el nombre del cliente
     */
    public void setNombre(String nombre)
    {
        this.nombre = nombre;
    }
    /**
     * Método modificador del campo dirección
     * @param direccion String con la dirección del cliente
     */
    public void setDireccion(String direccion)
    {
        this.direccion = direccion;
    }
    /**
     * Método modificador del campo teléfono
     * @param telefono String del número de teléfono
     */
    public void setTelefono(String telefono)
    {
        this.telefono = telefono;
    }
    /**
     * Método modificador del campo NIT
     * @param nit String con el número de NIT
     */
    public void setNIT(String nit)
    {
        this.NIT = nit;
    }
}
